package com.sirap.basic.data;

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;

import com.google.common.collect.Maps;
import com.sirap.basic.domain.HtmlEntity;

public class HtmlData {
	
	public static final HashMap<String, HtmlEntity> EGGS = Maps.newHashMap();
	static {
		EGGS.put("quot", new HtmlEntity("quot", 34, "quotation mark"));
		EGGS.put("apos", new HtmlEntity("apos", 39, "apostrophe&nbsp;"));
		EGGS.put("amp", new HtmlEntity("amp", 38, "ampersand"));
		EGGS.put("lt", new HtmlEntity("lt", 60, "less-than"));
		EGGS.put("gt", new HtmlEntity("gt", 62, "greater-than"));
		EGGS.put("nbsp", new HtmlEntity("nbsp", 32, "non-breaking space")); ////fixed from 160 to 32
		EGGS.put("iexcl", new HtmlEntity("iexcl", 161, "inverted exclamation mark"));
		EGGS.put("cent", new HtmlEntity("cent", 162, "cent"));
		EGGS.put("pound", new HtmlEntity("pound", 163, "pound"));
		EGGS.put("curren", new HtmlEntity("curren", 164, "currency"));
		EGGS.put("yen", new HtmlEntity("yen", 165, "yen"));
		EGGS.put("brvbar", new HtmlEntity("brvbar", 166, "broken vertical bar"));
		EGGS.put("sect", new HtmlEntity("sect", 167, "section"));
		EGGS.put("uml", new HtmlEntity("uml", 168, "spacing diaeresis"));
		EGGS.put("copy", new HtmlEntity("copy", 169, "copyright"));
		EGGS.put("ordf", new HtmlEntity("ordf", 170, "feminine ordinal indicator"));
		EGGS.put("laquo", new HtmlEntity("laquo", 171, "angle quotation mark (left)"));
		EGGS.put("not", new HtmlEntity("not", 172, "negation"));
		EGGS.put("shy", new HtmlEntity("shy", 173, "soft hyphen"));
		EGGS.put("reg", new HtmlEntity("reg", 174, "registered trademark"));
		EGGS.put("macr", new HtmlEntity("macr", 175, "spacing macron"));
		EGGS.put("deg", new HtmlEntity("deg", 176, "degree"));
		EGGS.put("plusmn", new HtmlEntity("plusmn", 177, "plus-or-minus&nbsp;"));
		EGGS.put("acute", new HtmlEntity("acute", 180, "spacing acute"));
		EGGS.put("micro", new HtmlEntity("micro", 181, "micro"));
		EGGS.put("para", new HtmlEntity("para", 182, "paragraph"));
		EGGS.put("middot", new HtmlEntity("middot", 183, "middle dot"));
		EGGS.put("cedil", new HtmlEntity("cedil", 184, "spacing cedilla"));
		EGGS.put("ordm", new HtmlEntity("ordm", 186, "masculine ordinal indicator"));
		EGGS.put("raquo", new HtmlEntity("raquo", 187, "angle quotation mark (right)"));
		EGGS.put("iquest", new HtmlEntity("iquest", 191, "inverted question mark"));
		EGGS.put("times", new HtmlEntity("times", 215, "multiplication"));
		EGGS.put("divide", new HtmlEntity("divide", 247, "division"));
		EGGS.put("Agrave", new HtmlEntity("Agrave", 192, "capital a, grave accent"));
		EGGS.put("Aacute", new HtmlEntity("Aacute", 193, "capital a, acute accent"));
		EGGS.put("Acirc", new HtmlEntity("Acirc", 194, "capital a, circumflex accent"));
		EGGS.put("Atilde", new HtmlEntity("Atilde", 195, "capital a, tilde"));
		EGGS.put("Auml", new HtmlEntity("Auml", 196, "capital a, umlaut mark"));
		EGGS.put("Aring", new HtmlEntity("Aring", 197, "capital a, ring"));
		EGGS.put("AElig", new HtmlEntity("AElig", 198, "capital ae"));
		EGGS.put("Ccedil", new HtmlEntity("Ccedil", 199, "capital c, cedilla"));
		EGGS.put("Egrave", new HtmlEntity("Egrave", 200, "capital e, grave accent"));
		EGGS.put("Eacute", new HtmlEntity("Eacute", 201, "capital e, acute accent"));
		EGGS.put("Ecirc", new HtmlEntity("Ecirc", 202, "capital e, circumflex accent"));
		EGGS.put("Euml", new HtmlEntity("Euml", 203, "capital e, umlaut mark"));
		EGGS.put("Igrave", new HtmlEntity("Igrave", 204, "capital i, grave accent"));
		EGGS.put("Iacute", new HtmlEntity("Iacute", 205, "capital i, acute accent"));
		EGGS.put("Icirc", new HtmlEntity("Icirc", 206, "capital i, circumflex accent"));
		EGGS.put("Iuml", new HtmlEntity("Iuml", 207, "capital i, umlaut mark"));
		EGGS.put("ETH", new HtmlEntity("ETH", 208, "capital eth, Icelandic"));
		EGGS.put("Ntilde", new HtmlEntity("Ntilde", 209, "capital n, tilde"));
		EGGS.put("Ograve", new HtmlEntity("Ograve", 210, "capital o, grave accent"));
		EGGS.put("Oacute", new HtmlEntity("Oacute", 211, "capital o, acute accent"));
		EGGS.put("Ocirc", new HtmlEntity("Ocirc", 212, "capital o, circumflex accent"));
		EGGS.put("Otilde", new HtmlEntity("Otilde", 213, "capital o, tilde"));
		EGGS.put("Ouml", new HtmlEntity("Ouml", 214, "capital o, umlaut mark"));
		EGGS.put("Oslash", new HtmlEntity("Oslash", 216, "capital o, slash"));
		EGGS.put("Ugrave", new HtmlEntity("Ugrave", 217, "capital u, grave accent"));
		EGGS.put("Uacute", new HtmlEntity("Uacute", 218, "capital u, acute accent"));
		EGGS.put("Ucirc", new HtmlEntity("Ucirc", 219, "capital u, circumflex accent"));
		EGGS.put("Uuml", new HtmlEntity("Uuml", 220, "capital u, umlaut mark"));
		EGGS.put("Yacute", new HtmlEntity("Yacute", 221, "capital y, acute accent"));
		EGGS.put("THORN", new HtmlEntity("THORN", 222, "capital THORN, Icelandic"));
		EGGS.put("szlig", new HtmlEntity("szlig", 223, "small sharp s, German"));
		EGGS.put("agrave", new HtmlEntity("agrave", 224, "small a, grave accent"));
		EGGS.put("aacute", new HtmlEntity("aacute", 225, "small a, acute accent"));
		EGGS.put("acirc", new HtmlEntity("acirc", 226, "small a, circumflex accent"));
		EGGS.put("atilde", new HtmlEntity("atilde", 227, "small a, tilde"));
		EGGS.put("auml", new HtmlEntity("auml", 228, "small a, umlaut mark"));
		EGGS.put("aring", new HtmlEntity("aring", 229, "small a, ring"));
		EGGS.put("aelig", new HtmlEntity("aelig", 230, "small ae"));
		EGGS.put("ccedil", new HtmlEntity("ccedil", 231, "small c, cedilla"));
		EGGS.put("egrave", new HtmlEntity("egrave", 232, "small e, grave accent"));
		EGGS.put("eacute", new HtmlEntity("eacute", 233, "small e, acute accent"));
		EGGS.put("ecirc", new HtmlEntity("ecirc", 234, "small e, circumflex accent"));
		EGGS.put("euml", new HtmlEntity("euml", 235, "small e, umlaut mark"));
		EGGS.put("igrave", new HtmlEntity("igrave", 236, "small i, grave accent"));
		EGGS.put("iacute", new HtmlEntity("iacute", 237, "small i, acute accent"));
		EGGS.put("icirc", new HtmlEntity("icirc", 238, "small i, circumflex accent"));
		EGGS.put("iuml", new HtmlEntity("iuml", 239, "small i, umlaut mark"));
		EGGS.put("eth", new HtmlEntity("eth", 240, "small eth, Icelandic"));
		EGGS.put("ntilde", new HtmlEntity("ntilde", 241, "small n, tilde"));
		EGGS.put("ograve", new HtmlEntity("ograve", 242, "small o, grave accent"));
		EGGS.put("oacute", new HtmlEntity("oacute", 243, "small o, acute accent"));
		EGGS.put("ocirc", new HtmlEntity("ocirc", 244, "small o, circumflex accent"));
		EGGS.put("otilde", new HtmlEntity("otilde", 245, "small o, tilde"));
		EGGS.put("ouml", new HtmlEntity("ouml", 246, "small o, umlaut mark"));
		EGGS.put("oslash", new HtmlEntity("oslash", 248, "small o, slash"));
		EGGS.put("ugrave", new HtmlEntity("ugrave", 249, "small u, grave accent"));
		EGGS.put("uacute", new HtmlEntity("uacute", 250, "small u, acute accent"));
		EGGS.put("ucirc", new HtmlEntity("ucirc", 251, "small u, circumflex accent"));
		EGGS.put("uuml", new HtmlEntity("uuml", 252, "small u, umlaut mark"));
		EGGS.put("yacute", new HtmlEntity("yacute", 253, "small y, acute accent"));
		EGGS.put("thorn", new HtmlEntity("thorn", 254, "small thorn, Icelandic"));
		EGGS.put("yuml", new HtmlEntity("yuml", 255, "small y, umlaut mark"));
		EGGS.put("forall", new HtmlEntity("forall", 8704, "for all"));
		EGGS.put("part", new HtmlEntity("part", 8706, "part"));
		EGGS.put("exists", new HtmlEntity("exists", 8707, "exists"));
		EGGS.put("empty", new HtmlEntity("empty", 8709, "empty"));
		EGGS.put("nabla", new HtmlEntity("nabla", 8711, "nabla"));
		EGGS.put("isin", new HtmlEntity("isin", 8712, "isin"));
		EGGS.put("notin", new HtmlEntity("notin", 8713, "notin"));
		EGGS.put("ni", new HtmlEntity("ni", 8715, "ni"));
		EGGS.put("prod", new HtmlEntity("prod", 8719, "prod"));
		EGGS.put("sum", new HtmlEntity("sum", 8721, "sum"));
		EGGS.put("minus", new HtmlEntity("minus", 8722, "minus"));
		EGGS.put("lowast", new HtmlEntity("lowast", 8727, "lowast"));
		EGGS.put("radic", new HtmlEntity("radic", 8730, "square root"));
		EGGS.put("prop", new HtmlEntity("prop", 8733, "proportional to"));
		EGGS.put("infin", new HtmlEntity("infin", 8734, "infinity"));
		EGGS.put("ang", new HtmlEntity("ang", 8736, "angle"));
		EGGS.put("and", new HtmlEntity("and", 8743, "and"));
		EGGS.put("or", new HtmlEntity("or", 8744, "or"));
		EGGS.put("cap", new HtmlEntity("cap", 8745, "cap"));
		EGGS.put("cup", new HtmlEntity("cup", 8746, "cup"));
		EGGS.put("int", new HtmlEntity("int", 8747, "integral"));
		EGGS.put("sim", new HtmlEntity("sim", 8764, "simular to"));
		EGGS.put("cong", new HtmlEntity("cong", 8773, "approximately equal"));
		EGGS.put("asymp", new HtmlEntity("asymp", 8776, "almost equal"));
		EGGS.put("ne", new HtmlEntity("ne", 8800, "not equal"));
		EGGS.put("equiv", new HtmlEntity("equiv", 8801, "equivalent"));
		EGGS.put("le", new HtmlEntity("le", 8804, "less or equal"));
		EGGS.put("ge", new HtmlEntity("ge", 8805, "greater or equal"));
		EGGS.put("sub", new HtmlEntity("sub", 8834, "subset of"));
		EGGS.put("sup", new HtmlEntity("sup", 8835, "superset of"));
		EGGS.put("nsub", new HtmlEntity("nsub", 8836, "not subset of"));
		EGGS.put("sube", new HtmlEntity("sube", 8838, "subset or equal"));
		EGGS.put("supe", new HtmlEntity("supe", 8839, "superset or equal"));
		EGGS.put("oplus", new HtmlEntity("oplus", 8853, "circled plus"));
		EGGS.put("otimes", new HtmlEntity("otimes", 8855, "cirled times"));
		EGGS.put("perp", new HtmlEntity("perp", 8869, "perpendicular"));
		EGGS.put("sdot", new HtmlEntity("sdot", 8901, "dot operator"));
		EGGS.put("Alpha", new HtmlEntity("Alpha", 913, "Alpha"));
		EGGS.put("Beta", new HtmlEntity("Beta", 914, "Beta"));
		EGGS.put("Gamma", new HtmlEntity("Gamma", 915, "Gamma"));
		EGGS.put("Delta", new HtmlEntity("Delta", 916, "Delta"));
		EGGS.put("Epsilon", new HtmlEntity("Epsilon", 917, "Epsilon"));
		EGGS.put("Zeta", new HtmlEntity("Zeta", 918, "Zeta"));
		EGGS.put("Eta", new HtmlEntity("Eta", 919, "Eta"));
		EGGS.put("Theta", new HtmlEntity("Theta", 920, "Theta"));
		EGGS.put("Iota", new HtmlEntity("Iota", 921, "Iota"));
		EGGS.put("Kappa", new HtmlEntity("Kappa", 922, "Kappa"));
		EGGS.put("Lambda", new HtmlEntity("Lambda", 923, "Lambda"));
		EGGS.put("Mu", new HtmlEntity("Mu", 924, "Mu"));
		EGGS.put("Nu", new HtmlEntity("Nu", 925, "Nu"));
		EGGS.put("Xi", new HtmlEntity("Xi", 926, "Xi"));
		EGGS.put("Omicron", new HtmlEntity("Omicron", 927, "Omicron"));
		EGGS.put("Pi", new HtmlEntity("Pi", 928, "Pi"));
		EGGS.put("Rho", new HtmlEntity("Rho", 929, "Rho"));
		EGGS.put("Sigma", new HtmlEntity("Sigma", 931, "Sigma"));
		EGGS.put("Tau", new HtmlEntity("Tau", 932, "Tau"));
		EGGS.put("Upsilon", new HtmlEntity("Upsilon", 933, "Upsilon"));
		EGGS.put("Phi", new HtmlEntity("Phi", 934, "Phi"));
		EGGS.put("Chi", new HtmlEntity("Chi", 935, "Chi"));
		EGGS.put("Psi", new HtmlEntity("Psi", 936, "Psi"));
		EGGS.put("Omega", new HtmlEntity("Omega", 937, "Omega"));
		EGGS.put("alpha", new HtmlEntity("alpha", 945, "alpha"));
		EGGS.put("beta", new HtmlEntity("beta", 946, "beta"));
		EGGS.put("gamma", new HtmlEntity("gamma", 947, "gamma"));
		EGGS.put("delta", new HtmlEntity("delta", 948, "delta"));
		EGGS.put("epsilon", new HtmlEntity("epsilon", 949, "epsilon"));
		EGGS.put("zeta", new HtmlEntity("zeta", 950, "zeta"));
		EGGS.put("eta", new HtmlEntity("eta", 951, "eta"));
		EGGS.put("theta", new HtmlEntity("theta", 952, "theta"));
		EGGS.put("iota", new HtmlEntity("iota", 953, "iota"));
		EGGS.put("kappa", new HtmlEntity("kappa", 954, "kappa"));
		EGGS.put("lambda", new HtmlEntity("lambda", 923, "lambda"));
		EGGS.put("mu", new HtmlEntity("mu", 956, "mu"));
		EGGS.put("nu", new HtmlEntity("nu", 925, "nu"));
		EGGS.put("xi", new HtmlEntity("xi", 958, "xi"));
		EGGS.put("omicron", new HtmlEntity("omicron", 959, "omicron"));
		EGGS.put("pi", new HtmlEntity("pi", 960, "pi"));
		EGGS.put("rho", new HtmlEntity("rho", 961, "rho"));
		EGGS.put("sigmaf", new HtmlEntity("sigmaf", 962, "sigmaf"));
		EGGS.put("sigma", new HtmlEntity("sigma", 963, "sigma"));
		EGGS.put("tau", new HtmlEntity("tau", 964, "tau"));
		EGGS.put("upsilon", new HtmlEntity("upsilon", 965, "upsilon"));
		EGGS.put("phi", new HtmlEntity("phi", 966, "phi"));
		EGGS.put("chi", new HtmlEntity("chi", 967, "chi"));
		EGGS.put("psi", new HtmlEntity("psi", 968, "psi"));
		EGGS.put("omega", new HtmlEntity("omega", 969, "omega"));
		EGGS.put("thetasym", new HtmlEntity("thetasym", 977, "theta symbol"));
		EGGS.put("upsih", new HtmlEntity("upsih", 978, "upsilon symbol"));
		EGGS.put("piv", new HtmlEntity("piv", 982, "pi symbol"));
		EGGS.put("OElig", new HtmlEntity("OElig", 338, "capital ligature OE"));
		EGGS.put("oelig", new HtmlEntity("oelig", 339, "small ligature oe"));
		EGGS.put("Scaron", new HtmlEntity("Scaron", 352, "capital S with caron"));
		EGGS.put("scaron", new HtmlEntity("scaron", 353, "small S with caron"));
		EGGS.put("Yuml", new HtmlEntity("Yuml", 376, "capital Y with diaeres"));
		EGGS.put("fnof", new HtmlEntity("fnof", 402, "f with hook"));
		EGGS.put("circ", new HtmlEntity("circ", 710, "modifier letter circumflex accent"));
		EGGS.put("tilde", new HtmlEntity("tilde", 732, "small tilde"));
		EGGS.put("ensp", new HtmlEntity("ensp", 8194, "en space"));
		EGGS.put("emsp", new HtmlEntity("emsp", 8195, "em space"));
		EGGS.put("thinsp", new HtmlEntity("thinsp", 8201, "thin space"));
		EGGS.put("zwnj", new HtmlEntity("zwnj", 8204, "zero width non-joiner"));
		EGGS.put("zwj", new HtmlEntity("zwj", 8205, "zero width joiner"));
		EGGS.put("lrm", new HtmlEntity("lrm", 8206, "left-to-right mark"));
		EGGS.put("rlm", new HtmlEntity("rlm", 8207, "right-to-left mark"));
		EGGS.put("ndash", new HtmlEntity("ndash", 8211, "en dash"));
		EGGS.put("mdash", new HtmlEntity("mdash", 8212, "em dash"));
		EGGS.put("lsquo", new HtmlEntity("lsquo", 8216, "left single quotation mark"));
		EGGS.put("rsquo", new HtmlEntity("rsquo", 8217, "right single quotation mark"));
		EGGS.put("sbquo", new HtmlEntity("sbquo", 8218, "single low-9 quotation mark"));
		EGGS.put("ldquo", new HtmlEntity("ldquo", 8220, "left double quotation mark"));
		EGGS.put("rdquo", new HtmlEntity("rdquo", 8221, "right double quotation mark"));
		EGGS.put("bdquo", new HtmlEntity("bdquo", 8222, "double low-9 quotation mark"));
		EGGS.put("dagger", new HtmlEntity("dagger", 8224, "dagger"));
		EGGS.put("Dagger", new HtmlEntity("Dagger", 8225, "double dagger"));
		EGGS.put("bull", new HtmlEntity("bull", 8226, "bullet"));
		EGGS.put("hellip", new HtmlEntity("hellip", 8230, "horizontal ellipsis"));
		EGGS.put("permil", new HtmlEntity("permil", 8240, "per mille&nbsp;"));
		EGGS.put("prime", new HtmlEntity("prime", 8242, "minutes"));
		EGGS.put("Prime", new HtmlEntity("Prime", 8243, "seconds"));
		EGGS.put("lsaquo", new HtmlEntity("lsaquo", 8249, "single left angle quotation"));
		EGGS.put("rsaquo", new HtmlEntity("rsaquo", 8250, "single right angle quotation"));
		EGGS.put("oline", new HtmlEntity("oline", 8254, "overline"));
		EGGS.put("euro", new HtmlEntity("euro", 8364, "euro"));
		EGGS.put("trade", new HtmlEntity("trade", 8482, "trademark"));
		EGGS.put("larr", new HtmlEntity("larr", 8592, "left arrow"));
		EGGS.put("uarr", new HtmlEntity("uarr", 8593, "up arrow"));
		EGGS.put("rarr", new HtmlEntity("rarr", 8594, "right arrow"));
		EGGS.put("darr", new HtmlEntity("darr", 8595, "down arrow"));
		EGGS.put("harr", new HtmlEntity("harr", 8596, "left right arrow"));
		EGGS.put("crarr", new HtmlEntity("crarr", 8629, "carriage return arrow"));
		EGGS.put("lceil", new HtmlEntity("lceil", 8968, "left ceiling"));
		EGGS.put("rceil", new HtmlEntity("rceil", 8969, "right ceiling"));
		EGGS.put("lfloor", new HtmlEntity("lfloor", 8970, "left floor"));
		EGGS.put("rfloor", new HtmlEntity("rfloor", 8971, "right floor"));
		EGGS.put("loz", new HtmlEntity("loz", 9674, "lozenge"));
		EGGS.put("spades", new HtmlEntity("spades", 9824, "spade"));
		EGGS.put("clubs", new HtmlEntity("clubs", 9827, "club"));
		EGGS.put("hearts", new HtmlEntity("hearts", 9829, "heart"));
		EGGS.put("diams", new HtmlEntity("diams", 9830, "diamond"));
	}
	
	public static List<HtmlEntity> eggs() {
		List<HtmlEntity> list = new ArrayList<>(HtmlData.EGGS.values()); 
		Collections.sort(list); 
		
		return list;
	}
}
